package com.asset.model.entity;

import java.util.Date;

/**
 * 资产对象
 */
public class Asset {
    //主键
    private Integer id;

    //资产编码(规则:公司编码-类型码-年月-流水号)
    private String assetCode;

    //资产名称
    private String name;

    //资产类别ID
    private Integer categoryId;

    //规格型号
    private String specification;

    //品牌
    private String brand;

    //状态(1:在用 2:闲置 3:待报废 4:已报废 5:已调拨)
    private Integer status;

    //原值
    private double originalValue;

    //净值
    private double netValue;

    //累计折旧金额
    private double cumulativeDepreciation;

    //残值
    private double residualValue;

    //累计折旧期数
    private int depreciationMonths;

    //剩余折旧期数
    private int remainingMonths;

    //月折旧额
    private double monthlyDepreciation;

    //产权公司ID
    private int ownershipCompanyId;

    //管理权公司ID
    private int managementCompanyId;

    //使用权公司ID
    private int usageCompanyId;

    //责任人/使用人ID
    private int keeperId;

    //物理位置
    private String location;

    //购置申请明细ID
    private int purchaseDetailId;

    //验收单ID
    private int acceptanceId;

    //创建时间(验收时间)
    private Date createdAt;

    //更新时间
    private Date updatedAt;

    //**入账时间**（老资产导入不经过验收）
    private Date in_time;

    //资产类型
    private AssetCategory assetCategory;



    @Override
    public String toString() {
        return "Asset{" +
                ", assetCategory=" + assetCategory +
                ", in_time=" + in_time +
                ", updatedAt=" + updatedAt +
                ", createdAt=" + createdAt +
                ", acceptanceId=" + acceptanceId +
                ", purchaseDetailId=" + purchaseDetailId +
                ", location='" + location + '\'' +
                ", keeperId=" + keeperId +
                ", usageCompanyId=" + usageCompanyId +
                ", managementCompanyId=" + managementCompanyId +
                ", ownershipCompanyId=" + ownershipCompanyId +
                ", monthlyDepreciation=" + monthlyDepreciation +
                ", remainingMonths=" + remainingMonths +
                ", depreciationMonths=" + depreciationMonths +
                ", residualValue=" + residualValue +
                ", cumulativeDepreciation=" + cumulativeDepreciation +
                ", netValue=" + netValue +
                ", originalValue=" + originalValue +
                ", status=" + status +
                ", brand='" + brand + '\'' +
                ", specification='" + specification + '\'' +
                ", categoryId=" + categoryId +
                ", name='" + name + '\'' +
                ", assetCode='" + assetCode + '\'' +
                ", id=" + id +
                '}';
    }

    public AssetCategory getAssetCategory() {
        return assetCategory;
    }

    public void setAssetCategory(AssetCategory assetCategory) {
        this.assetCategory = assetCategory;
    }


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getAssetCode() {
        return assetCode;
    }

    public void setAssetCode(String assetCode) {
        this.assetCode = assetCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) {
        this.specification = specification;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public double getOriginalValue() {
        return originalValue;
    }

    public void setOriginalValue(double originalValue) {
        this.originalValue = originalValue;
    }

    public double getNetValue() {
        return netValue;
    }

    public void setNetValue(double netValue) {
        this.netValue = netValue;
    }

    public double getCumulativeDepreciation() {
        return cumulativeDepreciation;
    }

    public void setCumulativeDepreciation(double cumulativeDepreciation) {
        this.cumulativeDepreciation = cumulativeDepreciation;
    }

    public double getResidualValue() {
        return residualValue;
    }

    public void setResidualValue(double residualValue) {
        this.residualValue = residualValue;
    }

    public int getDepreciationMonths() {
        return depreciationMonths;
    }

    public void setDepreciationMonths(int depreciationMonths) {
        this.depreciationMonths = depreciationMonths;
    }

    public int getRemainingMonths() {
        return remainingMonths;
    }

    public void setRemainingMonths(int remainingMonths) {
        this.remainingMonths = remainingMonths;
    }

    public double getMonthlyDepreciation() {
        return monthlyDepreciation;
    }

    public void setMonthlyDepreciation(double monthlyDepreciation) {
        this.monthlyDepreciation = monthlyDepreciation;
    }

    public int getOwnershipCompanyId() {
        return ownershipCompanyId;
    }

    public void setOwnershipCompanyId(int ownershipCompanyId) {
        this.ownershipCompanyId = ownershipCompanyId;
    }

    public int getManagementCompanyId() {
        return managementCompanyId;
    }

    public void setManagementCompanyId(int managementCompanyId) {
        this.managementCompanyId = managementCompanyId;
    }

    public int getUsageCompanyId() {
        return usageCompanyId;
    }

    public void setUsageCompanyId(int usageCompanyId) {
        this.usageCompanyId = usageCompanyId;
    }

    public int getKeeperId() {
        return keeperId;
    }

    public void setKeeperId(int keeperId) {
        this.keeperId = keeperId;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public int getPurchaseDetailId() {
        return purchaseDetailId;
    }

    public void setPurchaseDetailId(int purchaseDetailId) {
        this.purchaseDetailId = purchaseDetailId;
    }

    public int getAcceptanceId() {
        return acceptanceId;
    }

    public void setAcceptanceId(int acceptanceId) {
        this.acceptanceId = acceptanceId;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Date getIn_time() {
        return in_time;
    }

    public void setIn_time(Date in_time) {
        this.in_time = in_time;
    }
}
